home *** CD-ROM | disk | FTP | other *** search
- /*
- Visual FX
- For
- Image FX
- SetUp Script
- Written By J.L. White
-
- (C)1997 Merlin's Software
-
- */
- parse arg Num
- options results
- address "IMAGEFX.1"
-
-
- Gadget.1 = 'Select Type Of Flames!'
- Gadget.2 = 'Wood'
- Gadget.3 = 'Gas'
- Gadget.4 = 'None'
- ListRequest 4 Gadget
- Type = 2
- if result = 2 then Type = 0
- if result = 3 then Type = 1
- if result = 4 then Type = 2
-
- Style = 0
- if Type < 2 then do
- Gadget.1 = 'Select Flame Options!'
- Gadget.2 = 'Growing & Radial Out'
- Gadget.3 = 'Growing & Radial In'
- Gadget.4 = 'Same Size & Radial In'
- Gadget.5 = 'Same Size & Radial Out'
- ListRequest 5 Gadget
- if result = 2 then Style = 0
- if result = 3 then Style = 1
- if result = 4 then Style = 2
- if result = 5 then Style = 3
- end
-
- FireNum = 50
- if Style > 1 then do
- NumA = 1
- NumB = 100
- NumC = 30
- RequestSlider '"Enter Thickness Of Flame!"' NumA NumB NumC
- FireNum = Result
- end
-
- XOff = 0
- YOff = 0
-
- NumA = 1
- NumB = 50
- NumC = 5
-
- RequestSlider '"Enter Amount For Feathering!"' NumA NumB NumC
- STNum = Result
-
-
-
- Gadget.1 = 'Select Circle Movement!'
- Gadget.2 = 'Zoom Out'
- Gadget.3 = 'Zoom In'
- ListRequest 3 Gadget
- ZoomType = 0
- if result = 2 then ZoomType = 0
- if result = 3 then ZoomType = 1
-
- Gadget.1 = 'Select Circle Options!'
- Gadget.2 = 'Start From Center'
- Gadget.3 = 'User Defined Point'
- ListRequest 3 Gadget
- CircleType = 0
- if result = 2 then CircleType = 0
- if result = 3 then do
- CircleType = 1
- RequestNotify 'Select Temporary File For Positioning!'
- call GetStart()
- call LoadA()
- call PickPoint()
- end
-
-
-
- call open TempFile,"VFXIFX:TempDrawer/"strip(Num),W
- call writeln TempFile,STNum
- call writeln TempFile,Type
- call writeln TempFile,Style
- call writeln TempFile,FireNum
- call writeln TempFile,ZoomType
- call writeln TempFile,CircleType
- call writeln TempFile,XOff
- call writeln TempFile,YOff
- call close TempFile
- exit
-
- PickPoint:
- Menu ToolBox
- DrawTool "FreeDraw"
- RequestNotify "Click On X & Y Position For Center Of Circle!"
- HidePanel
- Undo On
- WaitFor SELECTDOWN
- parse var result X1 Y1
- WaitFor SELECTUP
- parse var result X2 Y2
- Undo
- ShowPanel
- Undo Off
- XOff = strip(X1)
- YOff = strip(Y1)
- RequestResponse "Is The Point You Have Selected Correct?"
- if rc ~= 0 then call PickPoint()
-
- return
-
-
-
- LoadA:
- if IAType = 0 then do
- LoadBuffer PicAName Force Start
- end
- if IAType = 1 then do
- LoadBuffer PicAName Force 1
- end
- if IAType = 2 then do
- LoadBuffer PicAName Force
- end
- if IAType = 3 then do
- LoadBuffer PicAName""right(Start,3,'0') Force
- end
- return
-
-
- GetA:
- if IAType = 0 then do
- call Switcher(TOSW)
- PicAName = GetFile("Select Flyer Clip For ImageA! ",DriveName)
- Name = GetFileName(PicAName)
- if Name = "" then do
- Address FLY_1 OK_TEXT " OK "
- Title = "You Must Enter A Valid Clip Name To Use!"
- Address FLY_1 FYINT Title
- Address FLY_1 Quit
- call Switcher(TOWB)
- exit
- end
- Address FLY_1 SetFileName PicAName
- Address FLY_1 GetClipLength PicAName
- End = result
- Start = 0
- Address FLY_1 Program "5"
- Address FLY_1 StartNum Start
- Address FLY_1 EndNum End
- Address FLY_1 CurrentNum "0"
- Address FLY_1 GetTimeNT "Select A Range Of Frames To Process!"
- Start = word(result,1)*2
- End = word(result,2)*2
- Start = Start + 1
- End = End +2
- call addlib('PROJECT_REXX_PORT' , 0)
- call addlib(TOASTERLIB,0)
- call Switcher(TOWB)
- address command "C:Wait 1"
- ScreenToFront
- end
- if IAType = 1 then do
- RequestFile '"Select Flyer Still For ImageA!"' DriveName ' '
- PicAName = result
- Name = GetFileName(PicAName)
- if Name = "" then do
- Title = "You Must Enter A Valid Name To Use!"
- RequestNotify Title
- if FlyOn = 1 then Address FLY_1 Quit
- exit
- end
- Start = 1
- end
- if IAType = 2 then do
- RequestFile '"Select FileName For ImageA!"' 'SYS:' ' '
- PicAName = result
- Name = GetFileName(PicAName)
- if Name = "" then do
- Title = "You Must Enter A Valid Name To Use!"
- RequestNotify Title
- if FlyOn = 1 then Address FLY_1 Quit
- exit
- end
- Start = 1
- end
- if IAType = 3 then do
- RequestFile '"Select BaseName For ImageA! "' 'SYS:' ' '
- PicAName = result
- Name = GetFileName(PicAName)
- if Name = "" then do
- Title = "You Must Enter A Valid Name To Use!"
- RequestNotify Title
- if FlyOn = 1 then Address FLY_1 Quit
- exit
- end
- Start = 1
- end
- return
-
- GetFile:
- parse Arg Title, Path
- Address FLY_1 SetString Path
- Address FLY_1 GetFileNameNT Title
- return result
-
- GetFileName: procedure
- ARG CompleteName
- c = lastpos("/",CompleteName)
- if c = 0 then c = lastpos(":",CompleteName)
- return substr(CompleteName, c + 1)
-
- CloseStuff:
- Address FLY_1 Quit
- call remlib('ToasterARexx.port')
- call remlib('PROJECT_REXX_PORT')
- return
-
-
- OpenFlyStuff:
- FlyOn = 1
- address command "run VFXIFX:FLY"
- do while (POS('FLY_1',SHOW('Ports')) = 0)
- address command "wait 1"
- end
- TOASTERLIB="ToasterARexx.port"
- call remlib('ToasterARexx.port')
- call remlib('PROJECT_REXX_PORT')
- call addlib('PROJECT_REXX_PORT' , 0)
- call addlib(TOASTERLIB,0)
- DriveName = FindDrive()
- return
-
-
- FindDrive:
- address command "C:Info >RAM:DriveList"
- call open TempFile,"RAM:DriveList",R
- do until eof(TempFile)
- line = readln(TempFile)
- parse var line Drive" "Rest
- if Drive = "FA0:" then
- FlyVolume = word(Rest,7)":"
- end
- call close TempFile
- address command "Delete >NIL: RAM:DriveList"
- return FlyVolume
-
-
- GetStart:
- if exists("libs:flyer.library") then do
- if (POS('PROJECT_REXX_PORT',SHOW('Ports')) =0) then do
- RequestNotify 'Flyer Must Be Running First!'
- exit
- end
- call OpenFlyStuff()
-
-
- Gadget.1 = 'D/110/22/120/ImageA Type/4/FLYER CLIP/FLYER STILL/FRAME/SEQUENCE'
- ComplexRequest '"Visual FX SetUp Options"' 1 Gadget 250 60
- if rc ~= 0 then do
- call CloseStuff()
- exit 0
- end
- else do
- IAType = RESULT.1
- end
-
- call GetA()
- end
- else do
- Gadget.1 = 'D/110/22/120/ImageA Type/2/FRAME/SEQUENCE'
- ComplexRequest '"Visual FX SetUp Options"' 1 Gadget 250 60
- if rc ~= 0 then do
- call CloseStuff()
- exit 0
- end
- else do
- IAType = RESULT.1+2
- end
-
- call GetA()
- end
-
- if FlyOn = 1 then
- call CloseStuff()
- return
-